package com.atguigu.gulimall.member;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;

/**
 * 远程调用别的服务的步骤(此处测试调用coupon优惠券服务)
 *  * 1.pom.xml文件中引入spring-cloud-starter-openfeign,使该服务具有远程调用其它微服务的能力
 *  * 2.创建一个Feign包(盛放远程调用服务的接口)并在包下编写一个接口，使用注解@FeignClient("远程服务名")
 *  * 告诉springcloud该接口需要远程调用的服务，且接口的每个方法告知调用该服务的哪个请求即都是对应该服务的
 *  * 控制器方法签名，注意请求路径完整
 *  * 3.开启远程调用其它服务的功能，在启动类上使用注解@EnableFeignClients(basePackages = "feign包的全包名")，
 *  * 这样一旦启动该服务则会自动扫描feign包下使用@FeignClient注解的接口
 */
@MapperScan("com.atguigu.gulimall.member.dao")
@EnableFeignClients(basePackages = "com.atguigu.gulimall.member.feign")
@EnableDiscoveryClient
@SpringBootApplication
public class GulimallMemberApplication {

    public static void main(String[] args) {
        SpringApplication.run(GulimallMemberApplication.class, args);
    }

}
